#ifndef REDBLACKTREE
#define REDBLACKTREE

#include "BinarySearchTree.h"

template<typename T>
class RedBlackTree;

template<typename T>
class RedBlackTree: public BinarySearchTree<T>
{
 public:
  typedef typename BinarySearchTree<T>::Node Node;

 RedBlackTree(T _low, T _high): BinarySearchTree<T>(_low, _high)
    {
      this->root->color = BLACK;
    };

  RedBlackTree()
    {};

  int insert(Node *_new);
  int insert(T _low, T _high);
  int del(Node *_x);
};

#else
//Do NOTHING
#endif
